Generating position information employing an imager

ABSTRACT

An application control approach using generated position information of a control device and adapted for use with a display, such as a monitor or TV, is disclosed. The control device may be conveniently held by a user. An imager is employed to image the control device to detect reference fields and generate position information. This information is used by the control device to control an application.

RELATED APPLICATION INFORMATION

The present application is a Continuation of application Ser. No.13/908,900 filed Jun. 3, 2013, U.S. Pat. No. 8,842,186, which is aContinuation-in-Part of application Ser. No. 11/255,647 filed Oct. 21,2005, U.S. Pat. No. 8,456,534, which claims priority to provisionalapplication Ser. No. 60/622,143 filed Oct. 25, 2004, the disclosures ofwhich are incorporated herein by reference in their entirety.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to control systems for controllingapplications related to entertainment systems, such as televisions,multimedia systems, Internet access systems and browsers, and relatedmethods.

2. Description of the Prior Art and Related Information

A need has arisen for providing control capabilities in the living roomalong with the ability to control the conventional entertainment devicestypically present in the living room. For example, combined PC and TVsystems have been introduced which integrate the capabilities of thepersonal computer with the television. One such system is described inU.S. Pat. No. 5,675,390. Also, set top Internet access devices have beenintroduced which integrate Internet access capabilities withconventional televisions. Also, the advent of digital video recorders(DVRs), wireless networking systems for video, audio and picturetransfer to TVs, and other digital devices linked to the TV hasintroduced many more functions to TV control, including complex displaymenus, introducing a need for better control of applications.

SUMMARY OF THE INVENTION

In one aspect the present invention provides a method comprisingreceiving image information from an imager, identifying at least onepassive reference field of a user-manipulated device based on one ormore colors and shapes that comprise the at least one passive referencefield, the at least one passive reference field reflecting light, anddetermining identified reference information based on the at least onepassive reference field. The method further comprises generatingposition information based at least in part on the identified referenceinformation, the position information expressing a position of theuser-manipulated device relative to the imager, the position informationgenerated at least in part by mapping the position of the at least onepassive reference field to one or more fixed reference points. Themethod further comprises controlling an application based on thegenerated position information.

In another aspect the present invention provides a method comprisingreceiving image information from an imager, identifying at least onereference field of a user-manipulated device based on one or more anangle sensitive markings that comprises the at least one reference fieldand determining identified reference information based on the at leastone reference field. The method further comprises generating positioninformation based at least in part on the identified referenceinformation, the position information changing in response to movementof the user-manipulated device relative to the imager, the positioninformation generated at least in part by detecting movement response ofthe angle sensitive markings. The method further comprises controllingan application based on the generated position information.

Further features and advantages of the present invention are set out inthe following detailed description.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a perspective view of an improved entertainment system inaccordance with the present invention in a presently preferredembodiment.

FIG. 2 is a top view of the remote controller of the present inventionin a presently preferred embodiment.

FIG. 3 is a block schematic diagram illustrating control circuitry ofthe remote controller of the present invention.

FIG. 4 is a schematic diagram illustrating the image data captured bythe remote controller of the present invention including the displayscreen of the entertainment system of FIG. 1.

FIG. 5 is a schematic diagram illustrating the image data afterbackground processing, which image data corresponds to the desireddisplay screen image data, and derived relative position information.

FIG. 6 is a flow diagram illustrating the processing of image data bythe remote controller of the present invention.

FIG. 7 is a simplified schematic of the display control/input device ofthe system of FIG. 1.

FIG. 8 is a flow diagram illustrating the process flow of the displaycontrol/input device for converting the received position data to acursor or other GUI multi-directional control function.

FIGS. 9A and 9B illustrate display menus having a bright boundary and/ormarkings for use in image isolation.

FIG. 10 is a perspective view of an alternate embodiment of the remotecontroller of the present invention employing a folding configurationwith a text entry keyboard.

DETAILED DESCRIPTION OF THE INVENTION

The present invention provides a remote control system and methodadapted for use with an entertainment system employing amulti-directional control function such as a GUI control interface. Anysuch multi-directional control capability is referred to herein, forshorthand purposes only, as a GUI interface. In FIG. 1 an improvedentertainment system in accordance with the present invention isillustrated in a perspective view in a presently preferred embodiment.Details of such systems beyond the novel control features describedherein are known and will not be described in detail herein. Forexample, a PC/TV system with internet access is one example of such anentertainment system and is disclosed in the above noted '390 patent,the disclosure of which is incorporated by reference in its entirety.

Referring to FIG. 1, the entertainment system 100 includes amulti-directional remote controller 110, a display 112, which forexample may be a TV monitor, a primary display control/input device 114and a secondary display control/input device 116. Primary displaycontrol/input device 114 and secondary display control/input device 116may comprise any of a variety of devices using a TV display for output.Primary control/input device 114 is adapted for a GUI interface controldisplayed on the display 112. For example, the primary input device 114may comprise a multi-media PC such as in the above noted '390 patent orother device adapted for utilizing a multi-directional control, such asa GUI interface. Other examples of primary input device 114 includedigital cable or satellite TV boxes, DVR systems, networked digitalmedia systems adapted for media transfer from a networked PC, internetsteaming media devices, digital video game players, etc. A variety ofpossible devices may therefore comprise primary input device 114.Furthermore the functionality of input device 114 may be incorporated inthe television system 112 and is simply illustrated as a separate devicefor illustration of one possible configuration. Secondary input device116 may also comprise any of a variety of known devices employed inentertainment systems and may include a DVR, cable TV box, or otherdigital or combined analog and digital interface device. Device 116 mayincorporate a GUI type interface or a more conventional interface for TVsystems adapted for, e.g. a push button LED remote control. Also, thefunctionality of device 116 may be incorporated along with device 114 orTV 112 and again the illustration of a separate input device is purelyfor illustration of a possible configuration and without limitation.Plural devices 114, 116 are shown to clarify that the control system ofthe present invention may control a conventional device as well as a GUIdevice, with an (optional) combined universal remote/multi-directionalcontrol capability in one embodiment of a controller 110 as describedbelow.

Remote controller 110 provides a multi-directional control capabilitywhich is schematically illustrated by control of cursor 118 displayed inthe monitor 112. It should be appreciated however that a variety ofdifferent multi-directional control interfaces may be employed otherthan a cursor such as in a typical mouse control of a PC. For examplethe multi-directional controller 110 may control highlighting andselection of different icons or other GUI interface layouts displayed onthe screen of TV monitor 112 by device 114 and/or device 116. Also, themulti-directional controller could simply enable rapid scrolling throughlarge channel lists such as in digital cable menus without the tediousup-down-left-right scrolling typically employed. As will be described inmore detail below, remote controller 110 employs a freely movablemulti-directional motion based control similar to a mouse control of aPC but without being limited to use on a flat surface.

Referring to FIG. 2, the remote controller 110 is illustrated in moredetail in a top view. As shown, the remote controller may have aconfiguration similar to a typical remote control employed in anentertainment system. Alternatively, the controller 110 may have a shapemore similar to a mouse type controller or other desirable ergonomicconfiguration adapted for use in one hand in a living room setting. Thetop surface of the controller housing 120 may include a number of firstremote control inputs indicated generally at 122. This first set ofcontrol inputs 122 may include conventional remote control functionstypically found in hand-held TV remote controls or universal remotecontrols adapted to control multiple entertainment devices such as TVs,VCRs, CD players, DVD players, etc. Therefore the first set of remotecontrol inputs 122 may include the volume up and down set of controls124, a channel up and down set of controls 126, a power button 128 and aset of numeric inputs 130. Also, a number of programmable or specialpurpose control buttons may be provided that are indicated generally asbuttons 132. The first set of controls 122 activate a first wirelesstransmitter 134 which may preferably be an LED or RF transmitterconfigured at one end of the housing 120. As further illustrated in FIG.2, the remote controller 110 preferably includes mouse type controlbuttons 136, 138 which comprise a second set of control inputs. Normallythe multi-directional control will not be needed and may be disabled forpower saving purposes. For this purpose a button 140 may be provided toactivate the second set of inputs and the multi-correctional controlcapability of the controller 110. Button 140 may at the same timetransmit a control signal to the control input device 114 to display asuitable menu adapted for multi-directional control on the displayscreen 112. Although one button 140 is shown several menu buttons may beprovided which enable display of the appropriate menu and at the sametime enable the multi-directional control capability. For example,activating a channel button would activate display of a channel listmenu and simultaneously enable the multi-directional control for rapidscrolling through the channels. Alternatively, the multi-directionalcontrol may only be active while button 140 is held depressed.Activation of the button 140 may also deactivate some or all of thefirst set of remote control inputs 122 so that these are notinadvertently activated while the user operates the mouse type controlbuttons 136 and 138. Alternatively a movable cover may be provided overthe first set of inputs 122 to cover these while the multi-directionalcontrol function is enabled; for example a sliding type cover may beprovided for this purpose or a hinged section with inputs 112 on theinner section or sections as shown by the dashed line. Alternatively, insome applications the remote control inputs 122 may not be needed; forexample in an application where the controller 110 is used inconjunction with a separate remote or with a keyboard having controlfunctions and the controller 110 is used solely as a multi-directionalinput device, some or all of the controls 122 may be dispensed with.Also, some or all of the functions of inputs 122 may be allocated to GUIcontrol on the screen. Also, the buttons 136, 138 may not be activatedby separate button(s) 140 but may be active all the time and operate asa conventional “action” or “select” button when operating in a non GUIcontrol mode and operate to select and/or provide mouse button typeselection when the multi-directional control mode is active. Althoughtwo buttons 136, 138 are shown similarly to a mouse a single button maybe employed (or more than two, or a scroll wheel may be added, e.g. forrapid channel navigation). The control signals from the control inputs136, 138 and the multi-directional control signals are provided to asecond transmitter 142 which may also preferably comprise either a LEDor RF type wireless transmitter. Alternatively, in some applications,e.g. video game control, a wired rather than wireless transmissionbetween the controller and device 114 may be preferred. As further shownin FIG. 2, a lens assembly 144 is provided at the front of the housingto allow the capture of image data including the display screen 112 forprovision to a digital camera (or imager) and image signal processingsystem described in more detail below.

The controller 110 may also provide various degrees of enhanced“universal control” GUI capability over various devices, such as device116 or TV 112. For example, most such devices will haveup-down-left-right controls and associated LED control pulses controlthe associated menu. If control of such devices using controller 110 isemployed, the detected motion of the controller 110 (described in detailbelow) can be converted to a high speed series of up, down, left orright LED pulses coded for the particular device being controlled. Inthis way more convenient navigation of conventional menus can beprovided by controller 110. Alternatively, device 114 may include an LED“blaster” or direct connection to other devices (e.g. via a USB port) toprovide such universal control.

Referring to FIG. 3, a block schematic diagram is illustrated showingthe circuitry of the remote controller. As shown in FIG. 3, thecontroller circuitry includes an imager 150 which receives lightcaptured by lens 144. Imager 150 may comprise a suitable commerciallyavailable digital imager, for example commercially available CMOSimagers providing relatively high-quality digital images are availableat relatively low cost and may be advantageously employed for imager150. The output of imager 150 will be image data corresponding to thepixels in the field of view of the imager 150, which field of view issuitably chosen by lens 144 to encompass the area in front of thecontroller including the display screen 112 shown in FIG. 1. The pixeldata output from imager 150 is provided to a signal processor 152 whichmay be a suitably programmed DSP programmed in a manner to provide theimage processing functions described in more detail below. The output ofthe DSP 152 will be data preferably corresponding to the position offset of the image of screen 112 shown in FIG. 1 from the image axis ofthe optics of remote controller 110. Alternatively, the data maycorrespond to changes in image position between frames. This positiondata is provided to microprocessor 154 which controls first transmitter134 to transmit the position data to the output control device 114 (or116) shown in FIG. 1. Microprocessor 154 will also receive inputs fromswitches 136 and 138 corresponding to the multi-directional controlbuttons shown in FIG. 2. These will also be provided to firsttransmitter 134 and provided to control/input device 114 (or 116) forcontrol of the GUI functions of the display 112. The microprocessor 154also receives inputs from activation of keys 122 (shown in FIG. 2)provided from key detect circuit 156. This key activation data isprovided by microprocessor 154 to second transmitter 142 and istransmitted to the appropriate input device 114, 116 or to TV 112. Twotransmitters 134 and 142 may be advantageously employed were the controlsignals from switches 122 provide a conventional LED type control signalwhich may be used for standard remote control functions in components inthe entertainment system illustrated in FIG. 1. Transmitter 134 in turnmay be optimized to transmit the position information and is preferablyinsensitive to the orientation of the control relative to the inputdevice (114) containing the receiving circuitry. Therefore, transmitter134 may be a sufficiently high bandwidth RF transmitter. Alternatively,however, transmitter 134 may also be an LED type transmitter. Also asingle transmitter may be employed for transmitting both types ofsignals under the control of microprocessor 154. Microprocessor 154 mayalso store codes for universal control operation. An (optional) receiver148 may also be provided, e.g. to receive a signal from device 114 thatthe multi-directional control menu has exited allowing controller 110 todisable the imager and DSP for power saving. Alternatively, as notedabove, the multi-directional control may only be active while a buttonis held depressed. Alternatively, a timer may put the imager and DSP ina sleep mode if a certain time has elapsed without use of a GUI controlbutton. Alternatively, the controller 110 may detect when the menu hasexited, for example, by detecting absence of a suitable boundary ormarker superimposed on the menu and disable the camera and DSP. Otherinformation may also be received from device 114, e.g. to customize thecontrol functions for different GUI interfaces. If device 114 has anetworked wireless interface, such as a WiFi interface, controller 110may also employ this protocol and be networked with device 114.Microprocessor 154 also receives as an input the control signal fromswitch 140 which, as noted above, may conveniently activate a menu orother interface signaling activation of the multi-direction controllerfunction and a GUI interface and optionally deactivate the controlinputs 122. Although the microprocessor 154 and DSP 152 are shown asseparate processors in FIG. 3, it will be appreciated that thefunctionality of these two processors may be combined into a singlemicroprocessor and the specific illustrated configuration of thecircuitry in FIG. 3 is purely one example for illustrative purposes.

Next, referring to FIGS. 4-6 the image processing implemented by DSP 152in FIG. 3 will be described in more detail. First of all, referring toFIG. 6 the first stage in the image processing is to capture a frame ofimage data as illustrated at 300. In FIG. 4 the image data captured byimager 150 is illustrated. As shown, the field of view 200 includesimage data (pixels) 202 corresponding to the display screen 112 shown inFIG. 1 as well as background image data 203. The image data 202 for thedisplay screen has several characteristics which distinguish it from thebackground and which allow it to be reliably detected by the imageprocessing software. These characteristics include the following: theimage data 202 from the display screen will be brighter than thebackground; the boundary of the image data 202 of the display screenwill have straight edges; the image 202 will have a rectangular shape;and the image 202 will have a substantial size in comparison to otherobjects in the total field of view 200. These characteristics may beemployed to eliminate the irrelevant background images and clearlydiscern the image 202. Also, the menu or other GUI displayed on thescreen may be supplanted with specific features adapted for detection,as discussed below.

Next, referring to FIG. 6, at 302, the DSP image processing proceeds toeliminate background image data and isolate the image data for screenimage 202. This processing employs some or all of the above noted uniquecharacteristics of the image 202 to eliminate the background image data.In particular, as shown in FIG. 4 by the shaded area, a majority of thebackground image data 203 will have a brightness substantially less thanimage data 202 and this portion of the background can be rejected byrejecting the pixel data below a reference brightness threshold. Theremaining groups of image data will correspond to relatively brightobjects which may occur in the field of view, illustrated for exemplarypurposes in FIG. 4 by image data 204, 206. For example, such image datamay correspond to a bright object such as a lamp's image data 204. Also,reflected image data 206, for example corresponding to a reflection offof a coffee table or other reflective surface in the field of view maybe present. Image data 204 and 206 may be readily eliminated by usingadditional characteristics of the desired data 202. For example, theundesired image data will in general not have straight edges and not berectangular in shape and therefore may be readily eliminated by thesignal processing. This will employ edge or boundary detection which maybe easily performed since the surrounding pixel data has been eliminatedby the background processing described above and a simple comparison ofpixel values will derive the boundaries of the screen image 202. Also,reflections of the display screen itself may be eliminated by doing acomparison of the brightness of the two images and selecting thebrighter of the two objects. Furthermore, the reflections may besubstantially eliminated from the image data by employing a polarizedfilter in the lens assembly 144. If background image data survives whichsatisfies these characteristics, a comparison between image data 202 andthe surviving image data in the background can be made to determine therelative size of the two objects and the smaller object eliminated.

Additionally, since the image displayed in the display screen image 202is under the control of the input/control device 114 the image 202 maybe provided with a distinct characteristic to enable its ready detectionagainst the background image data in the field of view 200. This displaywill typically correspond to a unique menu or other GUI interface whichcan be provided with a bright boundary, or distinctive bright readilyidentified position markers, e.g. in the four corners of the image 202.This may be superimposed on a standard browser or menu, for example. Onesimple example is illustrated in FIG. 9A which illustrates a displaymenu having a bright background 340. Alternatively a bright boundary 352may be provided or markings 354. Four corner markings 354 are shownwhich may be aligned with image center and which may be relatively smallbright markers. Also these may be combined with boundary 352 with acharacteristic contrast. Also, a distinctive color or combination ofcolors may be employed for boundary 352, markers 354 or both. As anotherexample a logo or name of the device manufacturer (e.g. DVRmanufacturer) or service provider (e.g. cable company) may be used as aunique marker 354. If the logo or name includes text standard OCRprocessing may be used to match the detected combination of letters to astored template for reliable marker detection. Another example of a menulayout is shown in FIG. 9B. It will be appreciated that a variety ofdifferent suitable boundaries and/or markings may be employed to help indistinguishing the image data for the screen 112 from background imagedata. Such characteristics of the display may be combined with orsubstituted for the above noted characteristics for detection of imagedata 202. For example, if discrete markers 354 are employed their uniquecharacteristics may be substituted for the rectangular shape andstraight boundaries of the screen image described above to distinguishfrom background. As another example, if color of the boundary or markeris used, initial color discrimination may be used to reject thebackground.

In the unlikely event that the image processing locks onto an incorrectobject a simple reset may be provided, e.g. using button 140 or someother manually activated input, and upon reset activation a furthercharacteristic may be employed, namely position relative to the centerof the field of view with objects far away from the center beingrejected. This allows the user to reset the image tracking system, forexample if it inadvertently locks onto a window in a room, afterpointing the controller at the display screen and hitting a resetbutton.

After the above noted processing the remaining image data corresponds tothe desired display screen image data 202, as generally illustrated inFIG. 5. The processing flow then proceeds to derive the center of thedisplay screen image from this remaining image data at processing step304, illustrated in FIG. 6. This may employ the rectangular imageboundaries if these have been used at processing 302 or symmetricmarkings 354 if these are used. The process flow next proceeds to derivethe relative position of the center of the screen image 208 to thecenter 210 of the field of view 200 (and the center of the optical axisof the controller lens assembly). As shown in FIG. 5, this offsetinformation may be readily calculated from the image center pixelinformation derived previously and offset values X,Y may be derived asshown. This relative position data is transmitted to the input/controldevice 114 as shown at 306 in FIG. 6. It should be appreciated thatother offset position references may be employed than image center. Forexample, top (and/or bottom) and side boundary offset values may bederived and transmitted to the device 114 as position information.Alternatively, marker position offset(s) from the imager optical axismay be determined and transmitted as position information. Adjustmentfor tilt may be provided during this processing, for example, byrotating the image data about the center of the imager field of viewuntil the edges of the screen or marker correctly align with the edgesof the pixel array before determining offsets. Alternatively, purelyimage feature motion detection may be used for the multi-directionalcontrol, without employing the relative position offset of the imageraxis to the detected image feature. Instead changes in the position ofthe detected image feature between frames may be used to provide motioncontrol. The position information transmitted at 306 may then be justthe change in image position from a prior frame. This approach may alsoprovide correction for tilt, for example, by rotating the image featuredetected at each frame about the imager center to match the prior framebefore determining the change in position. However, while the approachusing imager axis offset information allows either pointing positionbased or motion based control, this approach only allows the latter.

In some applications with sufficiently high data rate transmissionsprovided, some of the above image processing may be performed in device114 rather than in the controller and relatively large amounts of rawimage data transferred. This may reduce the processor size on thecontroller and reduce battery drain. Alternatively, it should also beappreciated that some or all of the processing described below asperformed in device 114 may be performed on board the controller 110.

Next, referring to FIGS. 7 and 8 the control processing using thereceived position data, provided by the input device 114, is shown. Moreparticularly, in FIG. 7 a simplified schematic of the input/controldevice 114 is shown and in FIG. 8 a process flow is illustrated for thetranslation of the position data into cursor control of a GUI interfaceon the display screen 112, shown in FIG. 1. As shown in FIG. 7 the inputdevice 114 will include a receiver 320 for receiving the position dataas well as, optionally, a second receiver 322 for receiving theremote-control input signals from the control inputs 122 on theremote-control. Also, receiver 322 may be in device 116. The receivers320, 322 are coupled to suitable demodulation and amplification circuits324, 326, respectively which in turn provide the received data to amicroprocessor 328. A transmitter 325 and modulator 327 may also beprovided to communicate with the controller 110 or a networked wirelessdevice. Microprocessor 328 will perform a number of functions which willdepend on the particular device and will include additional functionalblocks 330 and 332 for providing control of a GUI interface based onreceived position data from the controller in functional block 330 andoptionally additional remote-control functions from the other inputs 122in block 332. Although these functional blocks are illustrated as partof the system microprocessor 328 it will be appreciated they may be alsoprovided as separate circuits or separately programmed microprocessorsdedicated to the noted functions.

Referring to FIG. 8, a simplified process flow for converting thereceived position data to a multi-directional control function isillustrated. As shown at 350, the process flow begins when a GUI orother multi-directional control mode is entered and the appropriatedisplay will be provided on the display screen 112. As noted above, thisdisplay screen may preferably have a bright background or may includeadditional bright boundaries or other characteristic markings which mayassist in the accurate identification of the screen image data frombackground image data. Two simple examples of such a menu screen areshown in FIGS. 9A and 9B, discussed above. A number of GUI icons 356 arealso illustrated in FIG. 9A along with pointer 118. In FIG. 9B a scrollbar 353 is shown, e.g. for rapid channel selection. If the pointercontrol function is used in web navigation, a bright boundary or markermay be superimposed on the web pages displayed. Next as shown at 360 inFIG. 8 the process flow activated by entry into the multi-directionalcontrol mode operates to receive the position information from thecontroller 110 provided from receiver 320. At 370 the received positioninformation is then processed and translated to cursor positioninformation. Converting the position information to cursor positioncontrol information at 370 may employ a variety of different functionsdepending on the particular application and entertainment systemconfiguration and intended use. In general, this translation operationwill provide a mapping between the received position information andcursor position based on a sensitivity which may be user adjustable. Inparticular, the user may choose to adjust the sensitivity based on howclose the screen is to the user which will affect the amount of angularmotion of the controller 110 required to move the cursor a particularamount in the display screen. Also, the processing at 370 may employ asan input the aspect ratio of the screen and an aspect ratio of thedetected image data 202 may be derived (by the microprocessor 154 or bythe DSP 152 in controller 110 and transmitted along with the positioninformation). These two aspect ratios may be compared to derive an angleat which the user is configured relative to the screen and this anglemay be used to adjust the sensitivity of the received position to cursormap at 370. That is, when the user is directly in front of the screenmovement of the controller will require the maximum angular movement tomove the cursor in the horizontal direction and the control sensitivityof the map of position information to cursor control at 370 may be mademore sensitive. Conversely, when the angle of the user relative to thescreen is greater a smaller movement of the controller will cover therange of cursor movement in the horizontal direction and a lesssensitive mapping at 370 may be employed. In this way the controlfunction will have the same feel irrespective of position of the user.Similarly, compensation processing may be provided at 370 for tilt ofthe controller field of view relative to the screen as well as verticalangle adjustment. Next at 380 the process flow proceeds to compare thechange in cursor positions (and/or change in position data) betweendifferent frames of image data to smooth out the cursor control. Thisprocessing at 380 may be employed to reject jitter by averaging motionover several frames of image data or by rejecting sudden irregularchanges. Such jitter rejection processing may also be adjustable by theuser. Finally at 390 the cursor position (or other position indicated)on the display is updated and the modified GUI screen is displayed.

In another implementation, the cursor itself may be chosen as the uniquemarker displayed on the menu (or other GUI image displayed on the screenby device 114) and its position offset from the imager's center axisdetected. The device 114 will then perform processing to move thedisplayed cursor to eliminate the offset. In other words the cursor willbe moved to where the controller imager axis is pointing. Alternatively,as noted above, instead of controlling a cursor the multi-directionalcontrol may control highlighting of menu items or in a video gameapplication control movement in the video game.

As noted above the use of detected image feature/imager axis positionoffset for motion control of the GUI screen allows either remotepointing position or motion control to be employed. That is the GUIcursor or highlighting control will either be based on where the remoteis pointing on the screen or will simply change based on the change inthe imager axis offset position from frame to frame. The latter controlis of a familiar type to computer users familiar with mouse control andmay be preferred where the primary use of the remote control is in aPC/TV type multi-media system for controlling the PC type functions orin an internet access enabled TV based multi-media system. The pointingposition based control in turn may be preferred for TV menu control,especially for users unfamiliar with mouse control of a PC, or for videogame control. Also, the preferences may change between modes of themulti-media system. For example in a multi-media system with internetaccess, digital TV, and video game capability it may be desirable toswitch modes from pointing position to motion control depending on whataspect of the system is in use. Also, it may be desirable to allow usersto choose their preferred control mode. Therefore, in another aspect ofthe invention one of the buttons illustrated on the remote control 110may be a mode selection button and initiate a corresponding processingmode in the DSP 152 or the control 100 or in the device 114 inmicroprocessor 328 to optionally provide pointing position or motionbased control.

In an embodiment where the controller operates with more conventionaldevices by providing suitable coded high speed left-right-up-downcontrol pulses (e.g. LED pulses) to simulate the use ofleft-right-up-down buttons processing may be provided to convert thedetected position reference information to control pulses transmitted todevice 116 or TV 112. This processing may be performed on controller110. Alternatively, if the universal control is provided via a device114 specially adapted for universal control in conjunction with thecontroller 110 then this processing may be provided in device 114 andthe other device(s) (e.g. 116) controlled via an LED blaster or directconnection such as a USB port.

Referring to FIG. 10, an optional or alternate embodiment of the systemof FIG. 1 is illustrated employing a combined multi-directionalcontroller and wireless keyboard 400. The multi-directional capabilityof controller 400 may be precisely the same as described above inrelation to the controller 110 of the prior embodiments but in additiona keyboard configuration 402 for text entry may be provided. Morespecifically, the controller 400 may have a folding housing with thekeyboard 402 configured in the interior of the controller 400. Thisembodiment may incorporate the teachings of U.S. Pat. No. 6,094,156, thedisclosure of which is incorporated herein by reference in its entirety,and accordingly the details of such an alternate embodiment need not bedescribed in further detail since the necessary modifications tocontroller 110 are apparent from the aforementioned patent. It should beappreciated that such an embodiment may also optionally include inputs122 described above and provide the capabilities of three distinctdevices normally provided by separate controllers, namely a universalremote control, multi-directional control and keyboard text entrycontrol normally found in three separate remote control devices.

Other implementations may be provided that may not be preferred in manyapplications but may be suitable in others. For example, a uniquemarking (such as 354 in FIG. 9) may be provided on the front of display112 or device 114, e.g. by a pattern of LEDs or illuminated distinctivelogo. This could be imaged instead of screen 112 and used to detectcontroller motion for pointer control as above. Alternatively, in suchan embodiment, a distinctive angle sensitive marking may be provided andmotion detected by detection of the changes in brightness of thedetected markings. For example, a light source covered with atransparent diffractive pattern, e.g. a hologram or diffractive gratingmay be used. In yet another embodiment a unique marking may be providedon controller 110 and imaged by device 114 to detect motion. In thisembodiment, the imager 150 is configured in device 114 and the processflow of FIGS. 5-6 is performed in processor 128. All such embodimentsare implied herein.

It will be appreciated that the before mentioned embodiments of theinvention may provide a variety of different capabilities depending onthe particular application and system. In one aspect, the controller 110may be operated as a primary control for a GUI based interface for a TVor other display based entertainment or information system with thefunctionality normally provided by a universal remote provided by theGUI interface and controlled by the multi-directional controller and theadditional controls 122 shown in FIG. 1 need not be provided withoutloss of functionality. Alternatively, the controls 122 may be providedwith the remote controller 110 providing a combined multi-directionalcontroller and universal remote in one simple handheld configuration.Either embodiment may advantageously be used in a TV/cable/DVRenvironment or in a TV/PC enhanced environment and provide enhancedfunctionality. One example of the advantages of such control in adigital cable TV environment is apparent from FIG. 9B. As shown, withscroll bars and selected speed scrolling (by positioning the pointerbelow the listing a desired amount to control scrolling speed) thenavigation of hundreds of channels may be greatly simplified. Also, inanother configuration the multi-directional control capabilities may becombined with a separate wireless keyboard to provide enhancedfunctionality for PC/TV type systems or Internet access systems.Alternatively, the controller may provide multi-directional control andtext entry in the embodiment of FIG. 10. Also, the combination ofuniversal remote, multi-directional controller and text based input mayall be provided in a single compact handheld configuration in theembodiment of FIG. 10. In another application the device 114 may be avideo game device or incorporate video game capabilities and the remotecontrol may provide a control over the video game replacing a joystickor other multi-directional controller.

Also, the indentified distinctive marker may be used for other types ofapplication control. For example, as noted above, the marker may be alogo or name. Once this marker is identified various additional controlapplications are possible. For example, identifying a logo or name mayallow information corresponding to the logo or name to be accessed viathe internet. As another example, if the marker is a cable companyidentifier or broadcast company identifier the marker identifier may beused to synchronize the displayed content to another device, or thedevice 110 if it includes a display (for example, if device 110 is asmart phone or tablet.)

Therefore, it will be appreciated that the marker identificationdescribed above may be employed for additional applications other thancursor control or selection of applications from a GUI interface. Theseapplications may be controlled in parallel with or independently ofposition tracking using the image data.

As one specific example, if device 110 is a smart phone or tablet withthe above described marker recognition capability, the user may controloperation of an application whereby the device 110 identifies a serviceprovider identifying marker or logo to identify a channel and time. Thisinformation may then allow continued access to the same content on thedevice 110 at the same point in the program via a wireless connection ondevice 110. As another specific example, the user may point device 110at a product with a distinctive logo being displayed in a program andidentify the logo and product to access additional information, eitherto be displayed on device 110 or on display 112 via an internet accessapplication. Also, the control of an application independently oftracking need not be performed in real time so some or all of thecontrol and image identification processing may be performed at aseparate location employing the image information from the device 110;for example, employing a logo or product image database at a remotelocation accessed via an internet connection. Such a remote database mayalso include product placement and program information. In this case thelogo identification of a channel and a time may enable a remoteapplication which identifies a product and product informationcorresponding to a program time slot which product information is thenprovided back to the user. Also, the position of an object in the imagerelative to a fixed logo position in the image may be known and used forproduct identification. Therefore, applications controlled may generallyinclude product object identification combined with provider logoinformation.

As another example, the tracking control of a cursor will include thecoordinates of the cursor as described above. The coordinates of aproduct placed in the image may also be known in advance and eitherprovided in meta data sent along with the image to system 100 or kept ina remote product placement database. Then when the user points thecursor to a product in the image and selects a product identificationand information application the coordinates may simply be provided tothe product database or the meta data coordinates may be identified andused to access an encoded product site via the internet, e.g., byassociating the transmitted coordinate meta data with a URL. Thisapproach to product identification may employ other pointer basedcontrollers than image based pointer control as described above, forexample gyroscopic or accelerometer controllers, and use of such othersystems in this type of product identification application are withinthe scope of this aspect of the invention. Nonetheless an imager basedapproach has the advantage of direct pointing control which is moreintuitive for a user. Also, as noted above the imager may be based at ornear the display and pointing coordinates identified in that manner,whether by imaging and detecting device 110 or gesture detection. Asanother example, a user may capture the image on a device 110 such as asmart phone or tablet and identify product coordinates by a touchinterface or stylus and simply touching or encircling the product on thecaptured image. Such alternate approaches are similarly within the scopeof this aspect of the invention associating display image coordinates,or range of coordinates, with product placement meta data, identifying aproduct location in an image by a user and employing this for retrievalof product information.

It will be appreciated by those skilled in the art that the foregoing ismerely an illustration of the present invention in currently preferredimplementations. A wide variety of modifications to the illustratedembodiments are possible while remaining within the scope of the presentconvention. Therefore, the above description should not be viewed aslimiting but merely exemplary in nature.

What is claimed is:
 1. A method comprising: receiving image informationfrom an imager; identifying at least one passive reference field of auser-manipulated device based on one or more colors and shapes thatcomprise the at least one passive reference field, the at least onepassive reference field reflecting light in a diffractive pattern;determining identified reference information based on the at least onepassive reference field; generating position information based at leastin part on the identified reference information, the positioninformation expressing a position of the user-manipulated devicerelative to the imager, the position information generated at least inpart by mapping the position of the at least one passive reference fieldto one or more fixed reference points; and controlling an applicationbased on the generated position information.
 2. The method of claim 1,wherein the imager is configured to image the user-manipulated devicewhen the user-manipulated device is pointed toward a display device. 3.The method of claim 1, wherein controlling an application based on thegenerated position information comprises controlling a display.
 4. Themethod of claim 1, wherein controlling an application based on thegenerated position information comprises controlling a pointer on thedisplay using the position information.
 5. The method of claim 1,wherein controlling an application based on the generated positioninformation comprises controlling a game on the display using theposition information.
 6. The method of claim 1, wherein the one or morefixed reference points are defined by reference to the imager field ofview.
 7. The method of claim 1, wherein the one or more fixed referencepoints comprise the center of the imager field of view.
 8. The method ofclaim 1, wherein the user-manipulated device comprises a gamecontroller.
 9. The method of claim 1, wherein the user-manipulateddevice comprises a remote control.
 10. A method comprising: receivingimage information from an imager; identifying at least one referencefield of a user-manipulated device based on one or more diffractivepatterns that comprises the at least one reference field; determiningidentified reference information based on the at least one referencefield; generating position information based at least in part on theidentified reference information, the position information changing inresponse to movement of the user-manipulated device relative to theimager, the position information generated at least in part by detectingmovement response of the one or more diffractive patterns; andcontrolling an application based on the generated position information.11. The method of claim 10, wherein the reference field comprises adiffractive grating.
 12. The method of claim 10, wherein the referencefield comprises a holographic marking.
 13. The method of claim 10,wherein controlling an application based on the generated positioninformation comprises controlling a display.
 14. The method of claim 10,wherein controlling an application based on the generated positioninformation comprises controlling a pointer on the display using theposition information.
 15. The method of claim 10, wherein controlling anapplication based on the generated position information comprisescontrolling a game on the display using the position information.
 16. Anentertainment control system, comprising: an imager; a user movableobject having one or more diffractive patterns that comprise at leastone reference field; a control device coupled to receive imageinformation from the imager, the control device including processingcircuitry for identifying the at least one reference field of themovable object based on the one or more diffractive patterns thatcomprises the at least one reference field; determining identifiedreference information based on the at least one reference field;generating position information based at least in part on the identifiedreference information, the position information changing in response tomovement of the object relative to the imager, the position informationgenerated at least in part by detecting movement response of the one ormore diffractive patterns; and controlling an application based on thegenerated position information.
 17. An entertainment control system asset out in claim 16, wherein the reference field comprises a diffractivegrating.
 18. An entertainment control system as set out in claim 16,wherein the reference field comprises a holographic marking.
 19. Anentertainment control system as set out in claim 16, wherein theapplication controls a display in response to movement of the object.20. An entertainment control system as set out in claim 19, wherein theapplication controls a game on a display using the object movementinformation.